package learn.up.java.designMode.observer.highend;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author NANUTO
 * @date 2017年11月28日 下午9:58:07
 */
public abstract class AWeatherSubject {
	
	protected List<IObserver> observers = new ArrayList<>();

	abstract void notifyObservers();
	
	/**
	 * 注册观察者
	 * @param observer
	 */
	public void attach(IObserver observer) {
		observers.add(observer);
	}
	
	/**
	 * 取消观察者订阅
	 * @param observer
	 */
	public void detach(IObserver observer) {
		observers.remove(observer);
	}
}
